Skip to content

handy: init at 0.8.2#511221

Open
WonderMr wants to merge 1 commit intoNixOS:masterfrom
WonderMr:add-handy
Open

handy: init at 0.8.2#511221
WonderMr wants to merge 1 commit intoNixOS:masterfrom
WonderMr:add-handy

Conversation

@WonderMr
Copy link
Copy Markdown

@WonderMr WonderMr commented Apr 18, 2026

Description

Adds handy.computer — a free, open-source, privacy-preserving speech-to-text desktop app (Tauri + Rust + onnxruntime). Push a shortcut, speak, the transcription is inserted into the active text field. All audio stays on-device.

Upstream: https://github.com/cjpais/Handy (MIT).

Packaging notes

The package repackages the upstream Debian archive. A source build is not practical today:

  • Upstream pins a patched fork of Tauri (cjpais/tauri) plus several git-sourced Rust crates (rdev, vad-rs, rodio).
  • transcribe-rs ships bundled whisper.cpp with Vulkan features enabled.
  • The frontend is built with Bun.

All three combined make a reproducible offline build significantly more expensive than is justified for a first-cut init. If there's interest, a follow-up can move to source once upstream's Tauri patches land or when we have ergonomic Bun-lockfile fetching in nixpkgs.

Packaging details

  • autoPatchelfHook resolves all direct DT_NEEDED entries; runtimeDependencies covers libayatana-appindicator (Tauri tray icon) and xdotool (libxdo for enigo/rdev keystroke simulation).
  • wrapGAppsHook3 sets up the GTK/GSettings environment.
  • The .desktop file's empty Categories= (upstream bug) is filled in with sensible defaults.
  • The non-standard hicolor/256x256@2 icon directory emitted by the Tauri bundler is renamed to hicolor/512x512.
  • meta.longDescription notes that Linux users may need to switch the in-app Paste Method from "Direct" to "Clipboard + Ctrl+V" under Wayland — the default keystroke simulation via rdev can be blocked by some compositors.

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux (hash + attribute wired, not built — no aarch64 hardware available)
    • x86_64-darwin (not applicable — Linux-only package)
    • aarch64-darwin (not applicable — Linux-only package)
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR.
  • Tested basic functionality of all binary files, usually in ./result/bin/. handy --help exits 0; launching handy --start-hidden --no-tray --debug cleanly initialises the SQLite history store, Whisper/ORT accelerators and the GTK window under Wayland.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Copilot AI review requested due to automatic review settings April 18, 2026 19:55
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Nixpkgs package for handy (handy.computer), distributing the upstream Tauri-based offline speech-to-text desktop app by repackaging the released Debian archive.

Changes:

  • Introduce pkgs/by-name/ha/handy/package.nix to fetch and install the upstream .deb, with autoPatchelfHook + wrapGAppsHook3 integration.
  • Apply small downstream fixes during install (desktop Categories field; icon directory rename).
  • Add a new maintainer entry (wondermr) and set the package maintainer accordingly.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
pkgs/by-name/ha/handy/package.nix New derivation for the Handy .deb release, including patchelf/wrapping and desktop/icon adjustments.
maintainers/maintainer-list.nix Adds wondermr maintainer record used by the new package.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@nixpkgs-ci nixpkgs-ci Bot added 8.has: package (new) This PR adds a new package 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 12.first-time contribution This PR is the author's first one; please be gentle! 9.needs: reviewer This PR currently has no reviewers requested and needs attention. 8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` labels Apr 18, 2026
https://handy.computer — free, open-source, offline speech-to-text
desktop app (Tauri + Rust). Packaged from the upstream Debian archive,
with dependencies resolved by autoPatchelfHook and GTK env wired via
wrapGAppsHook3.
@totoroot
Copy link
Copy Markdown
Contributor

Duplicate of #507754
Needs upstream fix for darwin first: cjpais/Handy#1316

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` 8.has: package (new) This PR adds a new package 9.needs: reviewer This PR currently has no reviewers requested and needs attention. 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 12.first-time contribution This PR is the author's first one; please be gentle!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants